package com.howie.hmvc.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
 * 参数自动验证
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.PARAMETER)
public @interface Valid {
	/**
	 * 是否必填,默认true(所有类型)
	 */
	boolean required() default true;
	/**
	 * 是否为email,默认false(字符串)
	 */
	boolean email() default false;
	/**
	 * 正则表达式，默认不限制(字符串)
	 */
	String regex() default "";
	/**
	 * 最小长度,默认不限制(字符串值、上传文件)
	 */
	double minLength() default Double.NEGATIVE_INFINITY;
	/**
	 * 最大长度,默认不限制(字符串值、上传文件)
	 */
	double maxLength() default Double.POSITIVE_INFINITY;
	/**
	 * 最小值,默认不限制(数字型)
	 */
	double minVal() default Double.NEGATIVE_INFINITY;
	/**
	 * 最大值,默认不限制(数字型)
	 */
	double maxVal() default Double.POSITIVE_INFINITY;
	/**
	 * 允许上传的文件类型，不包含"."，默认为不限制(上传文件)
	 */
	String[] allowType() default {};
}
